Utilizing social media for information technology capacity planning

ABSTRACT

Program on a server computer generates a list having at least a string of plain text defined based on rules, wherein the rules also define a news feed of an electronic media source. The program code subscribes to the news feed. The program code computes a number of times the string of plain text is identified within the news feed, and a score for the string of plain text. Based on the score, the program code generates an electronic notification that alerts of an anticipated change in computer hardware capacity requirements for a build, support, and maintenance of a networked computer system. The program code estimates the requirements. Based on the score, the program code generates a request to adjust allocation of the computer hardware within the networked computer system to satisfy the requirements estimated. The program code sends the request generated to a client computer for viewing.

BACKGROUND

1. Field of the Invention

The present invention relates generally to capacity planning for anetworked computer system, and more particularly to searching socialmedia including news feeds to collect data utilized to estimate computerhardware capacity requirements for building, support, and maintenance ofa networked computer system.

2. Description of the Related Art

Capacity planners within an Information Technology (IT) organization areoften supplied with incomplete or erroneous data from which to estimatecomputer hardware capacity requirements for building, support, andmaintenance of a networked computer system that provides IT services.Furthermore, even if the data supplied is accurate, receipt of the databy the capacity planners if often delayed to an extent such that thedata is no longer a useful source from which to estimate the computerhardware capacity requirements.

Networked computer systems have many server computers distributed overvarious physical locations in order to provide IT services such as webhosting and other e-commerce services. The server computers may processmillions of electronic requests from end-users (e.g., customers) on adaily basis. Capacity planners need to have accurate data from which toaccurately estimate the computer hardware capacity requirements. If thecapacity planners accurately estimate the computer hardware capacityrequirements, then the capacity requirements can be utilized to allocatea sufficient number of computer hardware resources to the networkedcomputer system and thereby satisfy end-user demand for the IT serviceseven if the networked computer system experiences unusual sharpincreases in the number of electronic requests.

Currently, as mentioned above, data from which to estimate the computerhardware capacity requirements is often inaccurate and/or delayed, whichcan result in a failure to allocate a sufficient number of computerhardware resources to the networked computer system and satisfy end-userdemand for the IT services. Failure to allocate a sufficient number ofcomputer hardware resources to the networked computer system can resultin a disruption of the IT services, as well as a decrease in end-usersatisfaction and profits.

SUMMARY

Aspects of an embodiment of the present invention disclose a method,computer system, and program product for searching social mediaincluding news feeds to collect data utilized to estimate computerhardware capacity requirements. A computer generates a list having atleast a string of plain text defined based on rules, wherein the rulesalso define a news feed of an electronic media source within which tosearch for the string of plain text. The computer subscribes to the newsfeed. The computer creates a record within a database for the string ofplain text. The computer computes a number of times the string of plaintext is identified within the news feed. The computer computes a scorefor the string of plain text. In response to a determination that thescore exceeds a first configurable threshold value, the computergenerates an electronic notification that includes a recommendation foran action that needs to be performed, wherein the electronicnotification alerts of an anticipated change in computer hardwarecapacity requirements for a build, support, and maintenance of anetworked computer system. The computer estimates the computer hardwarecapacity requirements based on the anticipated change. In response to adetermination that the score exceeds a second configurable thresholdvalue, the computer generates a request to adjust allocation of thecomputer hardware within the networked computer system, in order tosatisfy the computer hardware capacity requirements estimated. Thecomputer sends the request that is generated to a client computer forviewing.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The subject matter which is regarded as an embodiment of the presentinvention is particularly pointed out and distinctly claimed in theclaims at the conclusion of the specification. One manner in whichrecited features of an embodiment of the present invention can beunderstood is by reference to the following detailed description ofembodiments, taken in conjunction with the accompanying drawings inwhich:

FIG. 1 is a block diagram of a distributed computer system, including aclient computer having capacity planning client software and a servercomputer having capacity planning server software, wherein the capacityplanning client software and the capacity planning server software areprogram code that searches electronic news sources (i.e., electronicmedia sources) to collect data utilized to estimate computer hardwarecapacity requirements for building, support, and maintenance of anetworked computer system according to an embodiment of the presentinvention.

FIGS. 2A and 2B are flowcharts illustrating operations of the programcode according to an embodiment of the present invention.

FIG. 3 is a block diagram depicting internal and external components ofthe client computers and the server computers of FIG. 1 according to anembodiment of the present invention.

DETAILED DESCRIPTION

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of computer readable media may be utilized.Computer-readable medium may be a computer-readable signal medium or acomputer-readable storage medium. A computer-readable storage medium maybe, for example, but not limited to, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, ordevice, or any suitable combination of the foregoing. More specificexamples (a non-exhaustive list) of the computer-readable storage mediumwould include the following: a portable computer diskette, a hard disk,a random access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), a portablecompact disc read-only memory (CD-ROM), an optical storage device, amagnetic storage device, or any suitable combination of the foregoing.In the context of this document, a computer-readable storage medium maybe any tangible medium that can contain, or store a program for use byor in connection with an instruction execution system, apparatus, ordevice. A computer-readable storage medium, as used herein, is not to beconstrued as being transitory signals per se.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as JAVA, Smalltalk, C++ or the like, conventional proceduralprogramming languages such as the “C” programming language, a hardwaredescription language such as VERILOG, or similar programming languages.The program code may execute entirely on the user's computer, partly onthe user's computer, as a stand-alone software package, partly on theuser's computer and partly on a remote computer or entirely on theremote computer or server. In the latter scenario, the remote computermay be connected to the user's computer through any type of network,including a local area network (LAN) or a wide area network (WAN), orthe connection may be made to an external computer (for example, throughthe Internet using an Internet Service Provider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

Exemplary embodiments now will be described more fully herein withreference to the accompanying drawings. This disclosure may, however, beembodied in many different forms and should not be construed as limitedto the exemplary embodiments set forth herein. Rather, these exemplaryembodiments are provided so that this disclosure will be thorough andcomplete, and will fully convey the scope of this disclosure to thoseskilled in the art. In the description, details of well-known featuresand techniques may be omitted to avoid unnecessarily obscuring thepresented embodiments.

Embodiments of the present invention provide a language translationmanagement program module for searching news feeds of electronic newssources (i.e., electronic media sources) to collect data utilized toestimate computer hardware capacity requirements for building, support,and maintenance of a networked computer system.

FIG. 1 illustrates computer system 100 that includes client computers105 a, network 102, server computer 105 b, electronic news sources 165,and networked computer system 170. Client computer 105 a and servercomputer 105 b can interact and exchange data (i.e., communicate) witheach other via network 102. Client computer 105 a and server computer105 b each include respective internal components 800 a and 800 b, andrespective external components 900 a and 900 b, as described below inmore detail with respect to FIG. 3. Client computer 105 a is installedwith capacity planning client software 120 having graphical userinterface 125. Server computer 105 b is installed with eventnotification management software 130 and capacity planning serversoftware 135 having feed parser program module 140, capacity engineprogram module 145, rating database 150, provisioning request programmodule 155, and alerting engine program module 160.

Capacity planning client software 120 allows an end-user (e.g., a systemprogrammer/administrator) of client computer 105 a to view and monitor,via graphical user interface 125, events that are occurring withinelectronic news sources 165. For example, the end-user can view andmonitor managed computer systems (i.e., capacity), related media sourcesand business rules as well as capacity related events via graphical userinterface 125. Electronic news sources 165 can include company andproduct based news (e.g., news websites) and chat groups that areassociated to the managed computer systems, and further include industrymarketplaces and social media (e.g., forums, social networking websites,and blogs) also associated to the managed computer systems. In addition,the end-user can view, via graphical user interface 125, electronicnotifications about events that may affect the IT services provided bynetworked computer system 170, wherein the electronic notifications aregenerated by event notification management software 160. The IT servicesprovided by networked computer system 170 can include the following:marketing websites, transactional websites, and/or any IT resourcesupporting businesses that own or lease managed computer systems(capacity) which computer system 100 is monitoring and managing.

Capacity planning server software 135 searches electronic news sources165 to collect data utilized to estimate computer hardware capacityrequirements for building, support, and maintenance of networkedcomputer system 170. In particular, capacity planning server software135 includes feed parser program module 140 that searches news feeds ofelectronic news sources 165 for a string of plain text based on rulesthat define which of the news feeds to search (e.g., rules that definethe news feeds to subscribe to), and also define the string of plaintext to search for within the news feeds. The rules that define which ofnews feeds to search and the string of plain text to search for withinthe news feeds can be configured via capacity planning server software135 by a system programmer/administrator. The string of plain text isone or more words that subsequent to being identified in a news feed ofelectronic news sources 165, has a high statistical correlation (e.g., astatistical correlation ranging from about 0.8 to 1) to a change in thecomputer hardware capacity requirements mentioned above. Thus, if feedparser program module 140 identifies the string of plain text in a newsfeed, then a system programmer/administrator can expect the computerhardware capacity requirements for building, support, and maintenance ofnetworked computer system 170 to change. The statistical correlation canbe determined based on historical data analysis performed manually or inan automated fashion by utilizing data mining and statistical analysiscomputer software.

Thus, feed parser program module 140 searches news feeds of electronicnews sources 165 for a string of plain text utilizing the rulesdiscussed above, wherein the string of plain text is associated with acount parameter for storing a value representing the number of times thestring of plain text is identified within the news feeds. Based on thesearch of the news feeds, feed parser program module 140 computes thenumber of times the string of plain text is identified within the newsfeeds, and sets the count parameter associated with the string of plaintext to the number of times the string of plain text is identifiedwithin the news feeds. In addition, feed parser program module sends thestring of plain text and the count parameter associated with the stringof plain text to capacity engine program module 145. Capacity engineprogram module 145 can receive as inputs the string of plain text andthe count parameter associated with the string of plain text, andutilize the string of plain text to query rating database 150 for anumber representing uniqueness of the string of plain text, and for arating (i.e., a statistical correlation value) assigned to the string ofplain text. Thus, rating database 150 stores a record for each string ofplain text that is defined by the rules. Specifically, each recordwithin rating database 150 includes a field for storing a string ofplain text, a field for storing a number representing the uniqueness ofthe string of plain text, a field for storing a type of search (e.g.,search for company name, search for name of a person, search for productname, or search for location name) for which the string of plain text isutilized to search a news feed of electronic news sources 165, a fieldfor storing a unique identifier (unique ID) of computer hardware (e.g.,a unique ID associated to a radio-frequency identification tag attachedto the computer hardware) that may be needed subsequent to a usage ofthe string of plain text in the news feed of electronic news sources165, a field for storing a name of a person to contact for the computerhardware that may be needed subsequent to the usage of the string ofplain text in the news feed of electronic news sources 165, and a fieldfor storing a rating assigned to the string of plain text. The ratingassigned to a string of plain text is the statistical correlationbetween a use of the string of plain text within a news feed ofelectronic news sources 165, and a subsequent change in the computerhardware capacity requirements for building, support, and maintenance ofa networked computer system.

Furthermore, capacity engine program module 145 computes a score foreach string of plain text that is searched for and identified withinnews feeds of electronic news sources 165. The score is computed bymultiplying the number of times a string of plain text is identifiedwithin the news feeds by a number representing the uniqueness of thestring of plain text, and by a rating (i.e., a number that is astatistical correlation value) assigned to the string of plain text.Capacity engine program module 145 generates a recommendation for anaction that needs to be performed based on the score, and sends thescore and a record for the string of plain text to alerting engineprogram module 160. For example, the action can be notification via apaging system, event console, and/or e-mail of an impending change inload on a specified computer system of networked computer system 170, asa result of trends detected in social media that is being monitored.Based on the score received, alerting engine program module 160 cangenerate an electronic notification that includes the recommendationgenerated in order to alert the end-user of an anticipated change in thecomputer hardware capacity requirements for building, support, andmaintenance of a networked computer system 170. In particular, the alertis generated if the score is greater than a first configurable thresholdvalue. The electronic notification generated can include a uniqueidentifier (unique ID) of computer hardware, a recommendation for howcomputer hardware should be allocated within networked computer system170 based on the anticipated change, and can also include otherinformation from a field of a record within rating database 150. Theelectronic notification generated can be sent by alerting engine programmodule 160, via network 102, to capacity planning client software 120for viewing by the end-user. Based on the electronic notification viewedby the end-user, the end-user may decide to intervene by manuallyallocating, via graphical interface 125, additional computer hardwarewithin networked computer system 170.

In addition, alerting engine program module 160 can manage a list (e.g.,a file) of contact information stored on a hard drive of server computer105 b, and send the electronic notification and a request to eventnotification management software 130 to forward the electronicnotification generated to one or more persons named within the contactinformation. Thus, the list of contact information managed by alertingengine program module 160 can include names of persons, and an e-mailaddress for each of the persons to whom event notification managementsoftware 130 can forward the electronic notifications received.

Furthermore, capacity engine program module 145 estimates computerhardware capacity requirements by extrapolating an expected number ofmatches within electronic news sources 165 (i.e., an expected number oftimes a string of plain text is identified within a news feed), based onthe actual number of matches within electronic news sources 165 detectedover a specific period of time. In one embodiment, the expected numberof matches estimated may be multiplied by a factor that can be based ona priority assigned to one or more of electronic new sources 165. Thefactor can represent the relevance (i.e., the importance) of one or moreelectronic news sources 165 in estimating computer hardware capacityrequirements. In addition, capacity engine program module 145 comparesthe score for each string of plain text that is searched for andidentified within news feeds of electronic news sources 165, to a secondconfigurable threshold value. Based on the comparison, if the secondconfigurable threshold value is exceeded, then capacity engine programmodule 145 can instruct provisioning request program module 155 togenerate a request to adjust allocation of computer hardware withinnetworked computer system 170, in order to satisfy the computer hardwarecapacity requirements estimated. Provisioning request program module 155can send the request generated to client computer 105 a for viewing, viagraphical user interface 125, by the end-user. The end-user can performan action, based on the request generated, to adjust the allocation ofcomputer hardware within networked computer system 170.

Networked computer system 170 can include a web server cluster forsending web content to a computer have a web browser in response to anelectronic request from the computer for the content, application servercluster for managing connections to a database server cluster andmanaging requests for IT services provided by the networked computersystem 170, and database server cluster for providing high availabilitystorage services, and additional computer hardware utilized as reservecapacity. Specifically, the additional computer hardware utilized asreserve capacity can be allocated for the web server cluster, theapplication server cluster, and/or the database server cluster based ona computer generated instruction sent by provisioning request programmodule 155 to networked computer system 170. Moreover, allocation of theadditional computer hardware utilized as reserve capacity can also beperformed manually by the end-user via graphical user interface 125,based on information the end-user views within an electronicnotification sent by alerting engine program module 160 and/or a requestsent by provisioning request program module 155.

FIGS. 2A and 2B are flowcharts illustrating the steps of the programcode, capacity planning client software 120 and capacity planning serversoftware 135, for searching news feeds of electronic news sources 165 tocollect data utilized to estimate computer hardware capacityrequirements for building, support, and maintenance of networkedcomputer system 170. In the disclosed embodiment, the program code onserver computer 105 b generates a list (e.g., a file) having one or morestrings of plain text defined based on rules configured by a systemprogrammer/administrator, wherein the rules also define, for the programcode, news feeds of electronic news sources 165 within which to searchfor each of the strings of plain text (block 200). The program codesubscribes (i.e., connects) to the news feeds of electronic news sources165 defined by the rules (block 205).

Next, the program code creates a record within rating database 150 foreach of the strings of plain text in the list generated (block 210),wherein each of the records has the following fields: a first field forstoring a string of plain text, a second field for storing a numberrepresenting the uniqueness of the string of plain text, a third fieldfor storing a type of search for which the string of plain text isutilized to search a news feed of electronic news sources 165, a fourthfield for storing a unique ID of computer hardware (e.g., a unique IDassociated to a radio-frequency identification tag attached to thecomputer hardware) that may be needed subsequent to a usage of thestring of plain text in the news feed of electronic news sources 165, afifth field for storing a name of a person to contact for the computerhardware that may be needed subsequent to the usage of the string ofplain text in the news feed of electronic news sources 165, and a sixthfield for storing a rating assigned to the string of plain text.Moreover, the fields within each record are configured (i.e., populatedwith a value) via a database script or manually by a systemprogrammer/administrator, wherein the first field stores a string ofplain text, the second and sixth fields of each record store a numberthat can be subsequently utilized by the program code to compute a scorefor the string of plain text that is searched for and identified withinnews feeds of electronic news sources 165. The score computed can besubsequently utilized by the program code to determine whether hardwarecapacity requirements for building, support, and maintenance of anetworked computer system 170 need to be estimated.

Upon the program code creating a record within rating database 150 foreach of the strings of plain text in the list generated, the programcode searches the news feeds of electronic news sources 165 for a stringof plain text within the list generated (block 215). Next, the programcode computes a number of times the string of plain text is identifiedwithin the news feeds to which the program code is subscribed (block220), and sets a count parameter associated with the string of plaintext to the number of times the string of plain text is identified(block 225). Next, the program code computes, based on the countparameter and the record for the string of plain text, a score for thestring of plain text that is identified within news feeds of electronicnews sources 165 (block 230). Specifically, the score is computed bymultiplying the number of times the string of plain text is identified(i.e., the count parameter associated with the string of plain text)within the news feeds of electronic news sources 165, by a numberrepresenting the uniqueness of the string of plain text, and by a rating(i.e., a number that is a statistical correlation value) assigned to thestring of plain text. Thus, in order to compute the score for the stringof plain text, the program code queries rating database 150 to retrievethe number representing the uniqueness of the string of plain text andthe rating assigned to the string of plain text. Subsequent to computingthe score, the program code generates a recommendation for an actionthat needs to be performed based on the score (block 235), and thendetermines whether to generate an electronic notification to alert anend-user, of client computer 105 a, of an anticipated change in thecomputer hardware capacity requirements for building, support, andmaintenance of a networked computer system 170.

Specifically, if the score is less than or equal to a first configurablethreshold value (the “NO” branch of decision block 240), then theprogram code estimates the computer hardware capacity requirements forbuilding, support, and maintenance of a networked computer system basedon the anticipated change (block 250). Next, the program code determineswhether to issue a provisioning request to adjust allocation of computerhardware within networked computer system 170, in order to satisfy thecomputer hardware capacity requirements estimated.

Otherwise, if the score is greater than the first configurable thresholdvalue (the “YES” branch of decision block 240), then the program codegenerates an electronic notification that includes the recommendationgenerated in order to alert an end-user (e.g., a systemprogrammer/administrator) of an anticipated change in the computerhardware capacity requirements for building, support, and maintenance ofnetworked computer system 170 (block 245). Thus, the first configurablethreshold value, is a number that if exceeded indicates that a systemprogrammer/administrator needs to be alerted of an anticipated change inthe computer hardware capacity requirements for building, support, andmaintenance of a networked computer system 170. Next, based on theanticipated change, the program code estimates the computer hardwarecapacity requirements for building, support, and maintenance of anetworked computer system (block 250).

Specifically, to estimate the computer hardware capacity requirementsthe program code utilizes a computer hardware sizing calculation thatincludes computer hardware sizing calculations for each computersoftware application running within networked computer system 170. Inthe disclosed embodiment, the computer hardware sizing calculationutilized by the program code can be based on computer hardware sizingrequirements of each computer software application running withinnetworked computer system 170 and/or expected usage of each computersoftware application running within networked computer system 170. Thecomputer hardware sizing requirements of a computer software applicationrunning within networked computer system 170 may be provided by a vendorof the computer software application.

Subsequent, to estimating the computer hardware capacity requirements,the program code determines if the score is greater than a secondconfigurable threshold value (decision block 255). If the score is lessthan or equal to the second configurable threshold value (the “NO”branch of decision block 255), then the program code ends. However, ifthe score is greater than the second configurable threshold value (the“YES” branch of decision block 255), then the program code generates arequest to adjust allocation of computer hardware within networkedcomputer system 170, in order to satisfy the computer hardware capacityrequirements estimated (block 260). Next, the program code sends therequest generated to client computer 105 a for viewing, via graphicaluser interface 125, by the end-user (block 265). The end-user canperform an action, based on the request generated, to adjust theallocation of computer hardware within networked computer system 170.Subsequent to sending the request to client computer 105 a the programcode ends.

FIG. 3 is a block diagram depicting a set of internal components 800 aand 800 b and a set of external components 900 a and 900 b thatcorrespond to respective client computer 105 a and server computer 105b. Internal components 800 a and 800 b each include one or moreprocessors 820, one or more computer readable RAMs 822 and one or morecomputer readable ROMs 824 on one or more buses 826, and one or moreoperating systems 828 and one or more computer readable tangible storagedevices 830. The one or more operating systems 828 and capacity planningclient software 120 on client computer 105 a; and capacity planningserver software 135 on server computer 105 b are stored on one or moreof the respective computer readable tangible storage devices 830 forexecution by one or more of the respective processors 820 via one ormore of the respective RAMs 822 (which typically include cache memory).In the embodiment illustrated in FIG. 3, each of the computer readabletangible storage devices 830 is a magnetic disk storage device of aninternal hard drive. Alternatively, each of the computer readabletangible storage devices 830 is a semiconductor storage device such asROM 824, EPROM, flash memory or any other computer readable tangiblestorage device that can store a computer program and digitalinformation.

Each set of internal components 800 a and 800 b includes a R/W drive orinterface 832 to read from and write to one or more portable computerreadable tangible storage devices 936 such as CD-ROM, DVD, memory stick,magnetic tape, magnetic disk, optical disk or semiconductor storagedevice. Capacity planning client software 120 on client computer 105 a;and capacity planning server software 135 on server computer 105 b canbe stored on one or more of the respective portable computer readabletangible storage devices 936, read via the respective R/W drive orinterface 832 and loaded into the respective hard drive or computerreadable tangible storage device 830.

Furthermore, each set of internal components 800 a and 800 b alsoincludes a network adapter or interface 836 such as TCP/IP adapter card,wireless wi-fi interface card, or 3G or 4G wireless interface card orother wired or wireless communication link. Capacity planning clientsoftware 120 on client computer 105 a; and capacity planning serversoftware 135 on server computer 105 b can be downloaded to respectivecomputers 105 a and 105 b from an external computer or external storagedevice via a network (for example, the Internet, a LAN, or a WAN) andrespective network adapters or interfaces 836. From the network adapteror interface 836, capacity planning client software 120 on clientcomputer 105 a; and capacity planning server software 135 on servercomputer 105 b are loaded into at least one respective hard drive orcomputer readable tangible storage device 830. The network may comprisecopper wires, optical fibers, wireless transmission, routers, firewalls,switches, gateway computers and/or servers.

Each set of external components 900 a and 900 b can include a cameraunit 130, a computer display monitor 920, a keyboard 930, and a computermouse 934. External components 900 a and 900 b can also include touchscreens, virtual keyboards, touch pads, pointing devices, and otherhuman interface devices. Each set of internal components 800 a and 800 balso includes device drivers 840 to interface to computer displaymonitor 920, keyboard 930 and computer mouse 934. The device drivers840, R/W drive or interface 832 and network adapter or interface 836comprise hardware and software in which the software is stored incomputer readable tangible storage device 830 and/or ROM 824.

It should be appreciated that FIG. 3 provides only an illustration ofone implementation and does not imply any limitations with regard to theenvironments in which different embodiments may be implemented. Avariety of modifications to the depicted environments may beimplemented. Moreover, a variety of modifications to the depictedenvironments may be made based on design and implementationrequirements.

In accordance with the foregoing, a method, a computer system, and acomputer program product have been disclosed for searching social mediaincluding news feeds to collect data utilized to estimate computerhardware capacity requirements for building, support, and maintenance ofa networked computer system. Therefore, one or more embodiments of theinvention have been disclosed by way of example and not limitation.

What is claimed is:
 1. A method for searching news feeds of electronicmedia sources to collect data utilized to estimate computer hardwarecapacity requirements comprising: generating, by one or more processors,a list having at least a string of plain text defined based on rules,wherein the rules also define a news feed of an electronic media sourcewithin which to search for the string of plain text; subscribing, by theone or more processors, to the news feed; creating, by the one or moreprocessors, a record within a database for the string of plain text;computing, by the one or more processors, a number of times the stringof plain text is identified within the news feed; computing, by the oneor more processors, a score for the string of plain text, at least inpart, by multiplying the number of times the string of plain text isidentified within the news feed by a number representing uniqueness ofthe string of plain text; in response to a determination that the scoreexceeds a first configurable threshold value, generating, by the one ormore processors, an electronic notification that includes arecommendation for an action that needs to be performed, wherein theelectronic notification alerts of an anticipated change in computerhardware capacity requirements for a build, support, and maintenance ofa networked computer system; estimating, by the one or more processors,the computer hardware capacity requirements based on the anticipatedchange; in response to a determination that the score exceeds a secondconfigurable threshold value, generating, by the one or more processors,a request to adjust allocation of the computer hardware within thenetworked computer system, in order to satisfy the computer hardwarecapacity requirements estimated; and sending, by the one or moreprocessors, the request that is generated to a client computer forviewing.
 2. The method of claim 1, wherein the record comprises thefollowing: a field for storing a string of plain text, a field forstoring a number representing uniqueness of the string of plain text, afield for storing a type of search for which the string of plain text isutilized to search the news feed of the electronic media source, a fieldfor storing a unique identifier associated to a radio-frequencyidentification tag attached to the computer hardware, a field forstoring a name of a person to contact for the computer hardware, and afield for storing a rating assigned to the string of plain text.
 3. Themethod of claim 2, wherein the field for storing a type of search forwhich the string of plain text is utilized to search the news feed ofthe electronic media source further comprises: one or more of: a fieldfor storing a search for a company name, a field for storing a searchfor a name of a person, a field for storing a search for a product name,a field for storing a search for a location name.
 4. The method of claim2, wherein the rating assigned to the string of plain text is furthercomprises: a statistical correlation value.
 5. The method of claim 1,wherein the step of computing, by one or more processors, the score forthe string of plain text, at least in part, by multiplying the number oftimes the string of plain text is identified within the news feed by anumber representing uniqueness of the string of plain text furthercomprises: multiplying, by the one or more processors, the number oftimes the string of plain text is identified within the news feed by anumber that is a statistical correlation value assigned to the string ofplain text.
 6. The method of claim 1, wherein the step of estimating thecomputer hardware capacity requirements comprises utilizing a computerhardware sizing calculation based on one of at least computer hardwaresizing requirements of each computer software application running withinthe networked computer system, and expected usage of each computersoftware application running within the networked computer system. 7.The method of claim 1 further comprising: based, at least in part, onthe electronic notification, allowing, by one or more processors, a userto intervene in order to manually allocate additional computer hardwarewithin the networked computer system.
 8. A computer program product forsearching news feeds of electronic media sources to collect datautilized to estimate computer hardware capacity requirements comprising:a computer readable storage medium and program instructions stored onthe computer readable storage medium, the program instructionscomprising: program instructions to generate a list having at least astring of plain text defined based on rules, wherein the rules alsodefine a news feed of an electronic media source within which to searchfor the string of plain text; program instructions to subscribe to thenews feed; program instructions to create a record within a database forthe string of plain text; program instructions to compute a number oftimes the string of plain text is identified within the news feed;program instructions to compute a score for the string of plain text, atleast in part, by multiplying the number of times the string of plaintext is identified within the news feed by a number representinguniqueness of the string of plain text; program instructions to generatean electronic notification, based on a determination that the scoreexceeds a first configurable threshold value, that includes arecommendation for an action that needs to be performed, wherein theelectronic notification alerts of an anticipated change in computerhardware capacity requirements for a build, support, and maintenance ofa networked computer system; program instructions to estimate thecomputer hardware capacity requirements based on the anticipated change;program instructions to generate a request to adjust allocation of thecomputer hardware within the networked computer system, based on adetermination that the score exceeds a second configurable thresholdvalue, in order to satisfy the computer hardware capacity requirementsestimated; and program instructions to send the request that isgenerated to a client computer for viewing.
 9. The computer programproduct of claim 8, wherein the record comprises the following: a fieldfor storing a string of plain text, a field for storing a numberrepresenting uniqueness of the string of plain text, a field for storinga type of search for which the string of plain text is utilized tosearch the news feed of the electronic media source, a field for storinga unique identifier associated to a radio-frequency identification tagattached to the computer hardware, a field for storing a name of aperson to contact for the computer hardware, and a field for storing arating assigned to the string of plain text.
 10. The computer programproduct of claim 9, wherein the field for storing a type of search forwhich the string of plain text is utilized to search the news feed ofthe electronic media source further comprises: one or more of: a fieldfor storing a search for a company name, a field for storing a searchfor a name of a person, a field for storing a search for a product name,a field for storing a search for a location name.
 11. The computerprogram product of claim 9, wherein the rating assigned to the string ofplain text is further comprises: a statistical correlation value. 12.The computer program product of claim 8, wherein the programinstructions to compute the score for the string of plain text, at leastin part, by multiplying the number of times the string of plain text isidentified within the news feed by a number representing uniqueness ofthe string of plain text further comprises: program instructions tomultiply the number of times the string of plain text is identifiedwithin the news feed by a number that is a statistical correlation valueassigned to the string of plain text.
 13. The computer program productof claim 8, wherein the program instructions to estimate the computerhardware capacity requirements further comprises: program instructionsto utilize a computer hardware sizing calculation based on one of atleast computer hardware sizing requirements of each computer softwareapplication running within the networked computer system, and expectedusage of each computer software application running within the networkedcomputer system.
 14. The computer program product of claim 8 furthercomprising: program instructions to allow, based, at least in part, onthe electronic notification, a user to intervene in order to manuallyallocate additional computer hardware within the networked computersystem.
 15. A computer system for searching news feeds of electronicmedia sources to collect data utilized to estimate computer hardwarecapacity requirements comprising: a computer readable storage medium andprogram instructions stored on the computer readable storage medium, theprogram instructions comprising: program instructions to generate a listhaving at least a string of plain text defined based on rules, whereinthe rules also define a news feed of an electronic media source withinwhich to search for the string of plain text; program instructions tosubscribe to the news feed; program instructions to create a recordwithin a database for the string of plain text; program instructions tocompute a number of times the string of plain text is identified withinthe news feed; program instructions to compute a score for the string ofplain text, at least in part, by multiplying the number of times thestring of plain text is identified within the news feed by a numberrepresenting uniqueness of the string of plain text; programinstructions to generate an electronic notification, based on adetermination that the score exceeds a first configurable thresholdvalue, that includes a recommendation for an action that needs to beperformed, wherein the electronic notification alerts of an anticipatedchange in computer hardware capacity requirements for a build, support,and maintenance of a networked computer system; program instructions toestimate the computer hardware capacity requirements based on theanticipated change; program instructions to generate a request to adjustallocation of the computer hardware within the networked computersystem, based on a determination that the score exceeds a secondconfigurable threshold value, in order to satisfy the computer hardwarecapacity requirements estimated; and program instructions to send therequest that is generated to a client computer for viewing.
 16. Thecomputer system of claim 15, wherein the record comprises the following:a field for storing a string of plain text, a field for storing a numberrepresenting uniqueness of the string of plain text, a field for storinga type of search for which the string of plain text is utilized tosearch the news feed of the electronic media source, a field for storinga unique identifier associated to a radio-frequency identification tagattached to the computer hardware, a field for storing a name of aperson to contact for the computer hardware, and a field for storing arating assigned to the string of plain text.
 17. The computer system ofclaim 16, wherein the field for storing a type of search for which thestring of plain text is utilized to search the news feed of theelectronic media source further comprises: one or more of: a field forstoring a search for a company name, a field for storing a search for aname of a person, a field for storing a search for a product name, afield for storing a search for a location name.
 18. The computer systemof claim 15, wherein the program instructions to compute the score forthe string of plain text, at least in part, by multiplying the number oftimes the string of plain text is identified within the news feed by anumber representing uniqueness of the string of plain text furthercomprises: program instructions to multiply the number of times thestring of plain text is identified within the news feed by a number thatis a statistical correlation value assigned to the string of plain text.19. The computer system of claim 15, wherein the estimating programinstructions to estimate the computer hardware capacity requirementsfurther comprises: program instructions to utilize a computer hardwaresizing calculation based on one of at least computer hardware sizingrequirements of each computer software application running within thenetworked computer system, and expected usage of each computer softwareapplication running within the networked computer system.
 20. Thecomputer system of claim 15 further comprising: program instructions toallow, based, at least in part, on the electronic notification, a userto intervene in order to manually allocate additional computer hardwarewithin the networked computer system.